package com.cmti.skeleton.service;

import com.cmti.skeleton.util.Constants;
import java.util.List;

/**
 *
 * @author Danny Lee
 */
public interface FileService {
    
    public static final String BASE_PATH = Constants.IMAGE_UPLOAD_PATH + "uploadFiles/";

    /**
     * 将文件从临时目录转移到永久存储目录
     *
     * @param fileName 文件名
     * @param fromPath 旧文件路径（完整路径名），以"/"结尾
     * @param toPath 新目录，以"/"结尾
     */
    boolean moveTo(String fileName, String fromPath, String toPath);

    /**
     * 删除记录后清理文件
     *
     * @param delList
     * @param dirName sub路径名
     */
    void deleteFiles(List<String> delList, String dirName);

    /**
     * 添加记录后将文件从临时目录转移到永久存储目录
     *
     * @param files 要保存的文件名数组
     * @param imagesToBeDeleted 要删除的文件列表
     * @param fromPath 旧文件路径（完整路径名），以"/"结尾
     * @param dirName 新目录的文件夹名（只是文件夹名，而非完整路径，与工程常量合并形成完整路径）
     */
    void saveFiles(String[] files, List<String> imagesToBeDeleted, String fromPath, String dirName);

}
